package com.xwltz.rbac.domain;

import javax.validation.constraints.Size;
import javax.validation.constraints.NotNull;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.xwltz.database.domain.BaseEntity;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * @description 菜单表 bs_module
 * @information on version 1.0 be created by @xwltz at 2022-06-17 11:09
 */

@Data
@Accessors(chain = true)
@TableName("bs_module")
@ApiModel("菜单表")
public class ModuleEntity extends BaseEntity {

	/**
	 * 菜单主键 id;
	 */
	@TableId
	@NotNull(message = "[菜单主键]不能为空")
	@ApiModelProperty("菜单主键")
	private Long id;

	/**
	 * 菜单名称 name;
	 */
	@Size(max = 255, message = "编码长度不能超过255")
	@ApiModelProperty("菜单名称")
	private String name;

	/**
	 * 父级菜单 parentId;
	 */
	@ApiModelProperty("父级菜单")
	private Long parentId;

	/**
	 * 菜单路径 path;
	 */
	@Size(max = 255, message = "编码长度不能超过255")
	@ApiModelProperty("菜单路径")
	private String path;

	/**
	 * 组件路径 component;
	 */
	@Size(max = 255, message = "编码长度不能超过255")
	@ApiModelProperty("组件路径")
	private String component;

	/**
	 * 路由参数 query;
	 */
	@Size(max = 255, message = "编码长度不能超过255")
	@ApiModelProperty("路由参数")
	private String query;

	/**
	 * 是否跳转外链 thisFrame;
	 */
	@ApiModelProperty("是否跳转外链")
	private Boolean thisFrame;

	/**
	 * 是否使用缓存 thisCache;
	 */
	@ApiModelProperty("是否使用缓存")
	private Boolean thisCache;

	/**
	 * 菜单类型(M目录 C菜单 F按钮) menuType;
	 */
	@Size(max = 255, message = "编码长度不能超过255")
	@ApiModelProperty("菜单类型(M目录 C菜单 F按钮)")
	private String menuType;

	/**
	 * 菜单状态(0显示 1隐藏) thisVisible;
	 */
	@ApiModelProperty("菜单状态(0显示 1隐藏)")
	private Boolean thisVisible;

	/**
	 * 是否刷新(0刷新 1不刷新) thisRefresh;
	 */
	@ApiModelProperty("是否刷新(0刷新 1不刷新)")
	private Boolean thisRefresh;

	/**
	 * 权限标识 permission;
	 */
	@Size(max = 255, message = "编码长度不能超过255")
	@ApiModelProperty("权限标识")
	private String permission;

	/**
	 * 菜单图标 icon;
	 */
	@Size(max = 255, message = "编码长度不能超过255")
	@ApiModelProperty("菜单图标")
	private String icon;


}
